#pragma once
#include <string>
class Tool
{
public:
    // 读一行
    static bool Read_One_Line(std::string &text, std::string *out, std::string glinesep)
    {
        auto pos = text.find(glinesep);
        if (pos == std::string::npos)
        {
            return false;
        }
        *out = text.substr(0, pos);
        text.erase(0, pos + glinesep.size());
        return true;
    }

    static bool Read_File_Content(std::string &filename, std::string *out)
    {
        // 一份简单的读取二进制文件的代码
        std::ifstream in(filename, std::ios::binary);
        if (!in.is_open())
            return false;
        in.seekg(0, in.end);
        int filesize = in.tellg();
        in.seekg(0, in.beg);
        out->resize(filesize);
        in.read((char *)out->c_str(), filesize);
        in.close();

        return true;
        // std::ifstream in(filename);
        // if(in.is_open())
        // {
        //     std::string line;
        //     while(std::getline(in,line))
        //     {
        //         *out+=line;
        //     }
        //     in.close();
        //     return true;
        // }
        // return false;
    }


};